/**
 *  在底层字符串是以字符数组方式保存的,字符串的大部分方法是不会对原字符串产生影响的，会返回一个结果。
 *
 *  length:
 *      可以用来获取字符串的长度
 * */

var str = "Hello Java Script";

/**length:可以用来获取字符串的长度*/
console.log(str.length);

/**charAt(); 可以返回字符串中指定位置的字符，根据索引获取指定位置的字符*/
console.log(str.charAt(6));

/**charCodeAt(); 获取指定位置字符的字符编码（Unicode编码）*/
console.log(str.charCodeAt(6));

/**String.fromCharCode(); 可以根据字符编码获取字符*/
console.log(String.fromCharCode(72));

/**concat(); 可以用来连接两个或者多个字符串*/

console.log(str.concat(", Hello World",", 我就要连接你咋地吧"));

/**indexof(); 该方法可以检索一个字符串中是否含有指定内容，如果该字符串中含有该内容，则会返回第一次出现的索引, 如果没有则会返回-1*/
console.log(str.indexOf("J"));
console.log(str.indexOf("a", 7)); // 第二个参数为：从指定的位置开始查找（索引）

/**lastIndexOf(); 刚方法的用法和indexOf一模一样，不同的是lastIndexOf是从后往前找*/
console.log("位置" + str.indexOf("a"));
console.log("位置" + str.lastIndexOf("a"));

/**slice(); 可以从字符串中截取指定的内容, 根据索引*/
console.log(str.slice(0, 6));

/**substring(); 可以用来截取一个字符串，和slice类似, 不同的是该方法不能接收负值作为参数，如果传递了负值为参数，则默认使用0，而且会自动调整参数的位置，如果，
 * 第二个参数小于第一个参数，则调整位置*/
console.log(str.substring(0,2));

/**substr(); 用来截取字符串，第一个参数截取开始位置的索引，第二个参数为截取的长度*/
console.log(str.substr(3,2));

/**split(); 可以将一个字符串拆分为一个数组, 需要一个字符串作为参数，将会根据该字符串作为拆分依据*/
console.log(str.split(" "));
console.log(str.split("")); // 如果传递一个空字符串作为参数，则会将每一个字符都拆分为数组中的一个元素

/**toLocaleLowerCase(); 将字符串转换为小写*/
console.log(str.toLocaleLowerCase());

/**toLocaleUpperCase(); 将字符串转换为大写*/
console.log(str.toLocaleUpperCase());





